Form1 Mouse Events (part 2) Form1% MouseCoordBox QuitCom &Quit ClearCom &Clear LastBoxCom Last box " ScreenCom Screen Form_Click @ Form_LoadY DateFormatOptn Value> TimeFormat TimeFormatOpt* NowBtn_Click TextBox QuitBtn_ClickV CountryCmb_Change% CountryCmbI ComboItemm VScroll1_Change TimeScl_Changed ScrollBarValueBox TimeSclc ScrollValueBox Label1_Click& TimerBtn_Click Count Total TextLine TimerBtnt Caption ScrollValueBox_Change MaxLbl_Click~ TextBox_Change@ TextBox_LostFocus QuitBtn) Enabled FalseA MIN_VALUE MAX_VALUE MinLble MaxLbl SmallChange LargeChange properties PrintBtn_Click Filename: CurrentLineNumber$ MAX_LINES/ PrintHeadingq Printer_ BadFiley ExitSub PrintHadingW PageNumber PageNum} PageNumStr PrintTab TAB_SIZE PageNumberStr PageX TextBox_KeyPress KeyAscii WindowState MousePointer` BackColor WHITEL ForeColor BLACK IsFirst QuitCom_ClickR ClearCom_Click ScreenCom_Click LastLineCom_Click MouseIsDown Ystrj Form_MouseDown Button Shift Form_MouseUp Form_MouseMove MouseDown MouseCoordBox LastX LastYG FirstX0 FirstY those FillBox| IsFillBox LEFT_BUTTONE MAX_BOXES CROSS RIGHT_BUTTON FinBox FindBox @ RemoveBoxV AsInteger UpdateBoxes DiffY DiffX MouseCoordBox_Change PressedCTRL7 PressedSHIFT PressedALT AlterBoxOrder Updateg TheFillBox TheFileBox DragBoxIndex ShiftX ShiftY Form_KeyDown KeyCode YELLOW LastBoxCom_Click ##0.0 declare the arrays of data for the boxesx number of lines DBI is short for DraggedBoxIndexe - Boolean Variables AlterBoxOrder make the topmost box at the (X, Y) location the topmost box in the set of boxes find the boxb if found a box that is not already the topmoste store data of selected box shift the data for the other boxes update the data of the topmost box FindBox find the "topmost" box which contains the coordinates (X, Y) the function returns the index of the matching box, or 0 if no box is foundd is (X, Y) between (X1(I),Y1(I)) and (X2(I),Y2(I)) ? yes? then exitI return the function resultn Form_Load Form_MouseDown initialize Boolean flags SHIFT key pressed ? CTRL key pressed? ALT key pressed attained maximum number of boxes? store coordinates of start point initialize coordinates of end point with those of the start point Form_MouseMove dragging a box? calculate shift in coordinates( drawing a box?t Form_MouseUp updated box movei add a new box?d LastBoxCom_Click delete the topmost box QuitCom_Click RemoveBox remove the topmost box at the (X, Y) coordinates. find matching box found one? not the last box? erase the box shift the data for the other boxes delete the last box ScreenCom_Click UpdateBoxes